Docker Compose
SyncNow can be deployed from a docker compose file as described here.
Docker Environment Parameters
Refer to Environment Variables Configuration Parameters for all environment variables.
Example, SyncNow - PostrgreSQL
Below is a docker-compose file with postgres and SyncNow.
version: '3.3'
services:
postgres:
container_name: postgres
image: postgres:12
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: <password>
PGDATA: /data/postgres
volumes:
- postgres:/data/postgres
ports:
- "5432:5432"
networks:
- syncnow-net
restart: unless-stopped
pgadmin:
container_name: pgadmin
image: dpage/pgadmin4
environment:
PGADMIN_DEFAULT_EMAIL: pgadmin4@pgadmin.org
PGADMIN_DEFAULT_PASSWORD: admin
volumes:
- pgadmin:/root/.pgadmin
ports:
- "5050:80"
networks:
- syncnow-net
restart: unless-stopped
syncserver:
image: repo-images.syncnow.io/syncnowserver:latest
container_name: syncserver
ports:
- '5030:5030'
environment:
- "ASPNETCORE_URLS=http://*:5030"
- "SETTINGS__DATABASECONFIGURATION__DATABASETYPE=PostgreSQL"
- "SETTINGS__DATABASECONFIGURATION__SERVER=postgres"
- "SETTINGS__DATABASECONFIGURATION__PORT=5432"
- "SETTINGS__DATABASECONFIGURATION__USERNAME=postgres"
- "SETTINGS__DATABASECONFIGURATION__PASSWORD=password"
- "SETTINGS__DATABASECONFIGURATION__TRANSPORTENCRYPT=False"
- "SETTINGS__DATABASECONFIGURATION__DATABASE=SyncNow"
- "SETTINGS__VECTORDATABASECONFIGURATION__DATABASETYPE=Redis"
- "SETTINGS__VECTORDATABASECONFIGURATION__URL=redis:6379"
- "SETTINGS__VECTORDATABASECONFIGURATION__USERNAME=syncnowuser"
- "SETTINGS__VECTORDATABASECONFIGURATION__PASSWORD=password"
- "SETTINGS__DATABASECONFIGURATION__File=./database/syncnow.db"
- "SETTINGS__AISETTINGS__APIKEY=xxxxxxxxxxxx"
- "SETTINGS__AISETTINGS__CHATCOMPLETIONAIPROVIDER=AzureOpenAI"
- "SETTINGS__AISETTINGS__CHATCOMPLETIONMODELNAME=gpt-4o-mini"
- "SETTINGS__AISETTINGS__EMBEDDINGDEPLOYMENTNAME=text-embedding-ada-002"
- "SETTINGS__AISETTINGS__PROVIDERURL=https://example-ai.cognitiveservices.azure.com/"
- "KESTREL__ENDPOINTS__HTTP__URL=http://+:5030"
- "KESTREL__ENDPOINTS__HTTPS__URL=http://+:5031"
networks:
- syncnow-net
depends_on:
- postgres
networks:
syncnow-net:
volumes:
postgres:
pgadmin: